Analyserna på denna sidar hjälper oss att identifiera kommuner där översiktsplaneringen börjar bli inaktuell. Målet är att kunna rikta kommande anbud och samarbeten mot de kommuner som snart behöver ta fram en ny översiktsplan, så att vi kan erbjuda relevant kompetens i rätt tid.
Kommunernas status i översiktsplaneringen
Den här kartan visar kommunernas status i översiktsplaneringen och hur väl de följer upp sitt planarbete genom en planeringsstrategi. Underlaget bygger på öppna data från Boverket, där varje kommuns senaste år med laga kraft för sin översiktsplan (ÖP), antal ändringar och tillägg, samt förekomst av planeringsstrategi har sammanställts.
Utifrån dessa uppgifter har ett index beräknats som anger hur angeläget det är för en kommun att uppdatera sin översiktsplan. Indexet väger samman åldern på gällande ÖP och om kommunen har en planeringsstrategi eller inte. Kommuner med äldre planer får ett högre grundvärde, medan kommuner utan planeringsstrategi får ett tillägg på indexet. Kommuner som nyligen antagit en ÖP (2022–2024) får däremot ett lågt värde oavsett strategi, eftersom deras planering anses aktuell.
Resultatet visualiseras som ett prioriteringsindex på kartan, där färgerna går från grönt (uppdaterad plan, låg prioritet) till rött (gammal plan, hög prioritet). Kartan kan även visa vilka kommuner som saknar planeringsstrategi samt när deras senaste översiktsplan vann laga kraft.
# ============================================================# Kommunnätverk – interaktiv visualisering med visNetwork# ============================================================library(sf)library(spdep)library(rmapshaper)library(igraph)library(dplyr)library(tibble)library(visNetwork)# ------------------------------------------------------------# 1. Läs in kommundata (med klimatkollen-score)# ------------------------------------------------------------kommuner_klimatkollen <-readRDS("C:/Users/henri/data/processed/kommuner_klimatkollen_score.Rds")# Förenkla geometrin för snabbare bearbetningkommuner_simplified <-ms_simplify(kommuner_klimatkollen, keep =0.05, keep_shapes =TRUE)# ------------------------------------------------------------# 2. Skapa grannrelationer (vilka kommuner gränsar till varandra)# ------------------------------------------------------------nb <-poly2nb(kommuner_simplified, row.names = kommuner_simplified$kommun)# Gör en lista över grannaredge_list <-data.frame(from =rep(1:length(nb), lengths(nb)),to =unlist(nb))# Skapa uppslagstabell mellan index och kommunkodid_map <-tibble(index =seq_along(nb), kommunkod = kommuner_simplified$kommun)# Namnge kanter med kommunkoderedges_named <- edge_list %>%as_tibble() %>%left_join(id_map, by =c("from"="index")) %>%rename(from_kod = kommunkod) %>%left_join(id_map, by =c("to"="index")) %>%rename(to_kod = kommunkod) %>% dplyr::select(from_kod, to_kod) %>%distinct() # Ta bort dubbletter (A–B = B–A)# ------------------------------------------------------------# 3. Skapa grafobjekt och attribut# ------------------------------------------------------------g <-graph_from_data_frame(edges_named, directed =FALSE)kommun_meta <- kommuner_simplified %>%st_drop_geometry() %>% dplyr::select(kommun, kommunnamn, Region)V(g)$namn <- kommun_meta$kommunnamn[match(V(g)$name, kommun_meta$kommun)]V(g)$lan <- kommun_meta$Region[match(V(g)$name, kommun_meta$kommun)]# ------------------------------------------------------------# 4. Skapa noder och kanter för visNetwork# ------------------------------------------------------------nodes <- kommuner_simplified %>%st_drop_geometry() %>%transmute(id = kommun,label = kommunnamn,group = Region,value = score,title =paste0("<b>", kommunnamn, "</b><br>","Region: ", Region, "<br>","Score: ", score, "<br>","Planstrategi: ", plan_strat, "<br>","ÖP laga kraft: ", öp_laga_kraft ) )score_lookup <- nodes %>% dplyr::select(id, value)edges_df <- igraph::as_data_frame(g, what ="edges") %>%left_join(score_lookup, by =c("from"="id")) %>%rename(score_from = value) %>%left_join(score_lookup, by =c("to"="id")) %>%rename(score_to = value) %>%mutate(value = score_from + score_to)
Kommunernas topologiska nätverk
Denna interaktiva visualisering visar ett topologiskt nätverk över Sveriges kommuner. Varje nod representerar en kommun, och länkarna visar grannrelationer – alltså kommuner som delar en geografisk gräns. Noderna är färgade efter län och skalas efter ett index. Länkarnas tjocklek påverkas av summan av de anslutna kommunernas värden, vilket gör det möjligt att ana kluster av kommuner med liknande förutsättningar.
Till skillnad från en vanlig karta bygger denna figur inte på geografiska koordinater, utan på topologiska samband. Layouten styrs av en fysikmodell (Barnes–Hut) där noder repellerar varandra samtidigt som länkarna fungerar som fjädrar. Kommuner med många grannar tenderar därför att dras mot centrum, medan mer isolerade kommuner hamnar längre ut. Resultatet blir en “svävande” struktur som visar relationer i närhetsnätverket, snarare än kommunernas faktiska läge i Sverige.